Was ist ‘offensive’ Language, die der Classifier (Coarse-grained Binary Classification) erkennt?
The OFFENSE category covered abusive language, insults, as well as merely profane statements.
Vom Algorithmus als OFFENSE eingestufte Kommentare charakterisiere ich im Artikel als ‘toxisch’.
Einlesen der aufbereiteten Daten und zusammenführen:
Metadaten und Scores:
## # A tibble: 0 x 3
## # … with 3 variables: content_details_video_id <chr>, na_score <lgl>, n <int>
Wie viele Sendungen analysiere ich?
## # A tibble: 1 x 1
## n
## <int>
## 1 241
Wie viele Kommentare analysiert?
## [1] 64793
Wie viele Kommentare wären da?
## [1] 72010
Anteil, den ich analysiere:
## [1] 0.8997778
## # A tibble: 1 x 1
## n
## <int>
## 1 64793
Wie viele Untertitel?
## # A tibble: 1 x 1
## n
## <int>
## 1 185
Lange nicht allzu ‘daily’ — Anzahl Videos pro Kalenderwoche:
## # A tibble: 1 x 1
## mean_like_ratio
## <dbl>
## 1 0.961
Anzahl Views:
Summe der Videoaufrufe in Millionen:
## # A tibble: 1 x 1
## sum_view_count
## <dbl>
## 1 4.08
Durschnittliche Views:
## # A tibble: 1 x 1
## mean_view_count
## <dbl>
## 1 16914.
| sum_view_count | dezil |
|---|---|
| 7226 | 10 |
| 9448 | 20 |
| 11386 | 30 |
| 12884 | 40 |
| 14502 | 50 |
| 17364 | 60 |
| 22476 | 70 |
| 24446 | 80 |
| 26820 | 90 |
| 108890 | 100 |
Figure 3.1: YouTube-Kommentare pro Episode
gemäss Metadaten zu den Videos so viele, API lässt aber nicht alle einfach so herunterladen
Figure 3.2: Anzahl Ansichten von Weltwoche Daily-Episoden auf YouTube
Welchen Anteil aller Kommentare haben welche Kommentierenden geschrieben?
## # A tibble: 6,727 x 3
## snippet_author_channel_id_value n percent
## <chr> <int> <dbl>
## 1 UC7G4mrTO5arRHt-W_1JyCFg 737 1.14
## 2 UCFqdEJG4tymiTnyXfT0QG2Q 672 1.04
## 3 UCleF4tBHWCVZh5Mt0oaeJvg 552 0.852
## 4 UCECuo4fP6osGN_72yyY9SaQ 500 0.772
## 5 UCIbZf9mVg0hBwR4URVjvMxA 491 0.758
## 6 UCRlhF4KVSWaiS6Yt6tUcrLA 476 0.735
## 7 UCrBroGe9YLWdE_r8SOQOnXQ 421 0.650
## 8 UCtjpDIqET5KkctdWLBwMG-g 415 0.641
## 9 UCy7nF8GYqYUzwg9HpjxPDoQ 403 0.622
## 10 UCF29gtZQ8i7nC8atDLWVrnw 396 0.611
## # … with 6,717 more rows
Wer schreibt wie viele Kommentare?
Wie viele Kommentierende gab es denn?
## # A tibble: 6,727 x 2
## snippet_author_channel_id_value n
## <chr> <int>
## 1 UC__d9__cUwYzj9fYEIqPHQw 1
## 2 UC__gJT2mgwA3hEKztRBx3Lg 1
## 3 UC__lfAoXEw0OZ8IU50ZwGMw 1
## 4 UC__YQ_QDStbMVV8hF9GoJIw 1
## 5 UC__Z6bpv6xOzhtA_6N_px2w 1
## 6 UC_-kUERleGtHp14c0aTrzdA 1
## 7 UC_-LSPHVVo8KipgvtZP40sQ 1
## 8 UC_0cKh0e62cGKSJfu1_fgZg 1
## 9 UC_0gPpFoYlj-FZ1q0AV9zwQ 1
## 10 UC_0m8qj4qoaQhuRCd4sHrlQ 1
## # … with 6,717 more rows
Hier überprüfe ich die Modellgüte des verwendeten Classifiers am Originaldatenset, da auf Hugging Face keine entsprechenden Details publiziert wurden.
## echter_wert vorhergesagter_wert n metrik anteil
## 1: OFFENSE OFFENSE 783 True Positives 22.17502
## 2: OFFENSE OTHER 419 False Negatives 11.86633
## 3: OTHER OFFENSE 355 False Positive 10.05381
## 4: OTHER OTHER 1974 True Negatives 55.90484
Sample von 250 Kommentare mit 125 pro mutmasslicher Klassifizierung, die manuell zu annotieren sind:
Confusion Matrix:
Sowohl Precision und Recall sollten hoch sein.
Werden die Werte für Precision besser, wenn ich den Schwellenwert für eine Klassifikation anpasse?
Ausprobieren:
Leider geht das nicht: Der ursprüngliche Out-of-Sample Precision Test wird so nicht erreicht.
Da der Algorithmus zu viele Kommentare fälschlicherweise als toxisch erkennt, muss diese Zahl anhand den Confusion Matrix-Kennzahlen im Out-of-Sample angepasst werden.
Im manuell annotierten Datenset hat es folgende Verteilung:
## # A tibble: 2 x 3
## echter_wert n anteil
## <chr> <int> <dbl>
## 1 OFFENSE 80 0.317
## 2 OTHER 172 0.683
Der Algorithmus erkennt folgende Werte:
## # A tibble: 2 x 3
## vorhergesagter_wert n anteil
## <chr> <int> <dbl>
## 1 OFFENSE 126 0.502
## 2 OTHER 125 0.498
So sieht die Confusion Matrix aus:
## # A tibble: 4 x 5
## echter_wert vorhergesagter_wert n metrik anteil
## <chr> <chr> <int> <chr> <dbl>
## 1 OFFENSE OFFENSE 66 True Positives 26.3
## 2 OFFENSE OTHER 14 False Negatives 5.58
## 3 OTHER OFFENSE 60 False Positive 23.9
## 4 OTHER OTHER 111 True Negatives 44.2
## # A tibble: 4 x 1
## list
## <chr>
## 1 True Positives: 26.29 % bzw. 66
## 2 False Negatives: 5.58 % bzw. 14
## 3 False Positive: 23.9 % bzw. 60
## 4 True Negatives: 44.22 % bzw. 111
Wie ist die Anzahl der toxischen Kommmentare dann also zu korrigieren?
Um eine Bandbreite von Werten für die Schätzung zu erhalten, können wir anstelle eines Korrekturfaktors eine Korrekturbandbreite berechnen.
In diesem Teil werden die Kommentare auf ihren Anteil “Offense” über Zeit geprüft.
Alle beleidigenden Kommentare:
Wie viele Likes oder Dislikes erhalten toxische Kommentare?
## # A tibble: 2 x 3
## label anzahl mean_like_count
## <chr> <int> <dbl>
## 1 OFFENSE 13536 8.53
## 2 OTHER 51257 7.06
Berechnen des Anteils “Offense” aller Kommentare nach Video
Summe der toxischen Kommentare (korrigiert):
## # A tibble: 1 x 1
## sum_toxic
## <dbl>
## 1 8594.
Deshalb runterkorrigieren:
Figure 3.3: Anzahl als beleidigend erkannter Kommentare an allen Kommentaren pro Video, Dichte
Figure 3.4: Anteil als beleidigend erkannter Kommentare an allen Kommentaren pro Video, Dichte
Erkannter Anteil “Offense” über Zeit, Version 1
Figure 3.5: Kommentare, die das Modell als Offense einstuft. Anteil über Zeit
Version 2:
Figure 3.6: Kommentare, die das Modell als Offense einstuft. Anteil über Zeit V2
Figure 3.7: Kommentare, die das Modell als Offense einstuft. Anteil über Zeit V2
Figure 3.8: Kommentare, die das Modell als Offense einstuft. Anteil über Zeit
Erkannte Anzahl “Offense”-Kommentare über Zeit, rollender Halbmonatsdurchschnitt
Figure 3.9: Kommentare, die das Modell als Offense einstuft. Absolut, über Zeit
## # A tibble: 1 x 1
## mean_prop_offense
## <dbl>
## 1 5.96
20 Episoden mit höchstem Anteil “Offense”-Kommentaren:
Episode mit grösster Anzahl “Offense”-Kommentaren:
Welche Kommentare wurden da alle als “Offense” gelabelt?
Gibt es Nutzer, die für das Gros der toxischen Kommentare verantwortlich sind?
## # A tibble: 6,727 x 5
## snippet_author_channel_id_value label n anteil_prozent cumsum_anteil
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 UCFqdEJG4tymiTnyXfT0QG2Q OFFENSE 264 1.95 1.95
## 2 UCECuo4fP6osGN_72yyY9SaQ OFFENSE 191 1.41 3.36
## 3 UCleF4tBHWCVZh5Mt0oaeJvg OFFENSE 122 0.901 4.26
## 4 UCRlhF4KVSWaiS6Yt6tUcrLA OFFENSE 119 0.879 5.14
## 5 UC7G4mrTO5arRHt-W_1JyCFg OFFENSE 115 0.850 5.99
## 6 UCGd9CrVl8XiEASb8DlmHEaw OFFENSE 111 0.820 6.81
## 7 UCrBroGe9YLWdE_r8SOQOnXQ OFFENSE 109 0.805 7.62
## 8 UCAUQe3ojC6aMSkuAk2eqiRg OFFENSE 108 0.798 8.41
## 9 UCgtstuVQKg1sF_NKpUQxEvA OFFENSE 101 0.746 9.16
## 10 UCzjtNXedlULPqmKupUdEj6Q OFFENSE 98 0.724 9.88
## # … with 6,717 more rows
Welcher Anteil der Kommentierenden hat laut Modell schon mindestens einen toxischen Kommentar verfasst?
## # A tibble: 2 x 3
## `n > 3` n `n/sum(n, na.rm = TRUE)`
## <lgl> <int> <dbl>
## 1 FALSE 1974 0.736
## 2 TRUE 709 0.264
Knapp 35% der Kommentierenden haben gemäss Modell mindestens zwei toxische Kommentare verfasst; bei knapp der Hälfte der Kommentierenden erkennt der Algorithmus mindestens einen toxischen Kommentar.
–> bizli willkürlich, hier mit Dezilen:
Schreiben Kommentierende ausschliesslich Beleidigendes oder haben sind die Kommentare ausgeglichen?
Figure 3.10: Verteilung des Anteils beleidigender Kommentare an Gesamtzahl Kommentare, Quadratwurzeltransformierte Y-Achse
Figure 3.11: Verteilung des Anteil Kommentare, Quantile, Quadratwurzeltransformierte Y-Achse
Welche Topic Models sind geeignet?
Das kann anhand Exclusivity, Semantic Coherence, Held-out Likelihood und Residuals bewertet werden (analog zu Julia Silge’s Blog Post).
## [[1]]
Figure 3.12: Topic Model mit K = 10 mit Wortwahrscheinlichkeiten nach Topic
## [[1]]
Figure 3.13: Topic Model mit K = 15 mit Wortwahrscheinlichkeiten nach Topic
## [[1]]
Figure 3.14: Topic Model mit K = 20 mit Wortwahrscheinlichkeiten nach Topic
## [[1]]
Figure 3.15: Topic Model mit K = 30 mit Wortwahrscheinlichkeiten nach Topic
## # A tibble: 1 x 1
## n
## <int>
## 1 115
## # A tibble: 52 x 3
## vid wort n
## <chr> <chr> <int>
## 1 x21sybhf_Yk rahmenabkommen 22
## 2 jz54u0Yr_A4 rahmenabkommen 12
## 3 nWoCwyRLNOQ rahmenabkommen 10
## 4 _jK_Q1Z7xwA rahmenabkommen 9
## 5 4OML1qwQsa4 rahmenabkommen 9
## 6 BdvXqAqVLdI rahmenabkommen 9
## 7 _195aaaA920 rahmenabkommen 8
## 8 ---g2Ov2Yno rahmenabkommen 8
## 9 D__wHC_0vo8 rahmenabkommen 7
## 10 fpiyml7Ubok rahmenabkommen 7
## # … with 42 more rows
## # A tibble: 12 x 3
## vid wort n
## <chr> <chr> <int>
## 1 jslrNbzr02A bibel 13
## 2 nVQx_oSn334 bibel 4
## 3 4OML1qwQsa4 bibel 2
## 4 8ciOOLFs38s bibel 2
## 5 ps78RN3vMXg bibel 2
## 6 E6X1yAHj5LQ bibel 1
## 7 n-pusQ602H4 bibel 1
## 8 NKPWxjnEiro bibel 1
## 9 Oidz5OwfB6c bibel 1
## 10 otGWZKH6MXA bibel 1
## 11 Q3KeXNoxJR4 bibel 1
## 12 x5eCgZmQZL8 bibel 1
Welche Topic Models sind geeignet?
Das kann anhand Exclusivity, Semantic Coherence, Held-out Likelihood und Residuals bewertet werden (analog zu Julia Silge’s Blog Post).
## [[1]]
Figure 4.1: Topic Model mit K = 10 mit Wortwahrscheinlichkeiten nach Topic
## [[1]]
Figure 4.2: Topic Model mit K = 15 mit Wortwahrscheinlichkeiten nach Topic
## [[1]]
Figure 4.3: Topic Model mit K = 20 mit Wortwahrscheinlichkeiten nach Topic
## [[1]]
Figure 4.4: Topic Model mit K = 30 mit Wortwahrscheinlichkeiten nach Topic
Lineares Modell wohl geeignet um die Anzahl beleidigender da prop_offense normalverteilt.
Wie ist der Anteil beleidigender Kommentare zu den Videos verteilt?
Tabelle aller Regressionen mit P-Werten und Efekten nach K-Topics
Nur Topics, die auf 0.001 signifikant und mit positiven Effekt:
Das Topic Model mit K = 30 weist nicht nur gute Werte bei den Metrics auf, sondern in ihm korrelieren verschiedenste Topics signifikant mit dem Auftreten von beleidigenden Kommentaren.
Probieren, die Topics in den Untertiteln in über Zeit zu plotten:
Inhalte der Sendung, vereinfacht:
## [[1]]
Inhalte der Sendung, granularer, K = 25
## [[1]]
Alle Topics, aber prädiktive eingefärbt bei K = 25:
## # A tibble: 25 x 3
## terms_and_topic topic sum_gamma
## <chr> <int> <dbl>
## 1 trump, donald, letzt, medien, amerikanisch, usa, präsidenten… 3 1173.
## 2 tot, wirtschaft, zahlen, corona, sterben, fragen, virus, bun… 12 971.
## 3 eu, europäisch, union, bundesrat, schweizer, rahmenabkommen,… 6 896.
## 4 virus, prozent, bundesrat, corona, bleiben, fragen, stark, m… 23 862.
## 5 bundesrat, partei, deutschland, medien, fragen, nehmen, gesc… 9 853.
## 6 medien, bekommen, fragen, sehen, lassen, politiker, schließe… 22 851.
## 7 fdp, svp, link, bundesrat, medien, demokratie, freiheit, deu… 17 842.
## 8 usa, rassismus, staaten, nationalbank, schwarz, finden, them… 4 835.
## 9 bundesrat, staat, fragen, stellen, situation, kritisch, maßn… 11 803.
## 10 bundesrat, medien, kritisieren, schreiben, sendung, diktatur… 24 788.
## # … with 15 more rows
Episoden, in denen die prädiktiven Topics präsent waren (Anteil > 1%):
## # A tibble: 18 x 55
## topic date content_details_… perc_offense n gamma terms_and_topic
## <int> <date> <chr> <dbl> <int> <dbl> <chr>
## 1 24 2021-02-26 zKTRYrPGboc 17.7 1 98.2 bundesrat, medie…
## 2 24 2021-02-25 BfNyRS4WamI 16.9 1 3.86 bundesrat, medie…
## 3 24 2021-02-22 _jK_Q1Z7xwA 14.0 1 60.2 bundesrat, medie…
## 4 24 2021-01-14 3ayiKMtyUog 13.7 1 89.1 bundesrat, medie…
## 5 24 2021-02-24 drPey0nK_ME 13.6 1 98.9 bundesrat, medie…
## 6 24 2021-03-11 sI430Ht5WcY 11.1 1 1.05 bundesrat, medie…
## 7 24 2021-03-22 Hop_MfkXl7c 10.5 1 98.5 bundesrat, medie…
## 8 24 2021-01-15 fWrzd1aGoEQ 10.4 1 25.0 bundesrat, medie…
## 9 24 2021-03-02 iny5ouOhWdw 9.23 1 98.8 bundesrat, medie…
## 10 24 2021-03-03 Oidz5OwfB6c 8.70 1 36.2 bundesrat, medie…
## 11 24 2021-01-25 eF0ZXkGIAvQ 8.49 1 20.7 bundesrat, medie…
## 12 24 2020-05-12 F-UafsQ5yfU 7.00 1 1.53 bundesrat, medie…
## 13 24 2020-05-18 zOJYR2BvKKM 5.73 1 95.2 bundesrat, medie…
## 14 24 2021-02-09 joDK-Vaet_E 5.73 1 12.7 bundesrat, medie…
## 15 24 2021-02-03 nJse9odtmJI 3.61 1 25.7 bundesrat, medie…
## 16 24 2020-04-16 wO_WznM4y9Y 3.08 1 2.24 bundesrat, medie…
## 17 24 2020-03-05 shA-MbRCLMw 3.08 1 1.28 bundesrat, medie…
## 18 24 2020-05-27 XJrO8a2G4pg 1.17 1 4.15 bundesrat, medie…
## # … with 48 more variables: kind <chr>, etag <chr>,
## # content_details_video_published_at <dttm>, response_kind <chr>,
## # response_etag <chr>, items_kind <chr>, items_etag <chr>, id <chr>,
## # published_at <dttm>, channel_id <chr>, title <chr>, description <chr>,
## # thumbnails_default_url <chr>, thumbnails_default_width <int>,
## # thumbnails_default_height <int>, thumbnails_medium_url <chr>,
## # thumbnails_medium_width <int>, thumbnails_medium_height <int>,
## # thumbnails_high_url <chr>, thumbnails_high_width <int>,
## # thumbnails_high_height <int>, thumbnails_standard_url <chr>,
## # thumbnails_standard_width <int>, thumbnails_standard_height <int>,
## # thumbnails_maxres_url <chr>, thumbnails_maxres_width <int>,
## # thumbnails_maxres_height <int>, channel_title <chr>, category_id <int>,
## # live_broadcast_content <chr>, localized_title <chr>,
## # localized_description <chr>, status_upload_status <chr>,
## # status_privacy_status <chr>, status_license <chr>, status_embeddable <lgl>,
## # status_public_stats_viewable <lgl>, status_made_for_kids <lgl>,
## # statistics_view_count <int>, statistics_like_count <int>,
## # statistics_dislike_count <int>, statistics_favorite_count <int>,
## # statistics_comment_count <int>, page_info_total_results <int>,
## # page_info_results_per_page <int>, default_audio_language <chr>,
## # default_language <lgl>, label <chr>
Visualisierung davon:
## # A tibble: 11 x 55
## link_zur_stelle segment_id start duration vid kind etag
## <chr> <int> <dbl> <dbl> <chr> <chr> <chr>
## 1 https://youtu.be/zKT… 189 514. 4.38 zKTRYr… youtube#… riHtY9gcSB…
## 2 https://youtu.be/zKT… 201 542. 3.78 zKTRYr… youtube#… riHtY9gcSB…
## 3 https://youtu.be/zKT… 203 546. 5.94 zKTRYr… youtube#… riHtY9gcSB…
## 4 https://youtu.be/zKT… 216 578. 4.03 zKTRYr… youtube#… riHtY9gcSB…
## 5 https://youtu.be/zKT… 220 585. 5.85 zKTRYr… youtube#… riHtY9gcSB…
## 6 https://youtu.be/zKT… 222 591. 8.1 zKTRYr… youtube#… riHtY9gcSB…
## 7 https://youtu.be/zKT… 224 599. 4.64 zKTRYr… youtube#… riHtY9gcSB…
## 8 https://youtu.be/zKT… 227 607. 8.34 zKTRYr… youtube#… riHtY9gcSB…
## 9 https://youtu.be/zKT… 237 635. 6.69 zKTRYr… youtube#… riHtY9gcSB…
## 10 https://youtu.be/zKT… 240 643. 4.71 zKTRYr… youtube#… riHtY9gcSB…
## 11 https://youtu.be/zKT… 346 935. 5.16 zKTRYr… youtube#… riHtY9gcSB…
## # … with 48 more variables: content_details_video_published_at <dttm>,
## # response_kind <chr>, response_etag <chr>, items_kind <chr>,
## # items_etag <chr>, id <chr>, published_at <dttm>, channel_id <chr>,
## # title <chr>, description <chr>, thumbnails_default_url <chr>,
## # thumbnails_default_width <int>, thumbnails_default_height <int>,
## # thumbnails_medium_url <chr>, thumbnails_medium_width <int>,
## # thumbnails_medium_height <int>, thumbnails_high_url <chr>,
## # thumbnails_high_width <int>, thumbnails_high_height <int>,
## # thumbnails_standard_url <chr>, thumbnails_standard_width <int>,
## # thumbnails_standard_height <int>, thumbnails_maxres_url <chr>,
## # thumbnails_maxres_width <int>, thumbnails_maxres_height <int>,
## # channel_title <chr>, category_id <int>, live_broadcast_content <chr>,
## # localized_title <chr>, localized_description <chr>,
## # status_upload_status <chr>, status_privacy_status <chr>,
## # status_license <chr>, status_embeddable <lgl>,
## # status_public_stats_viewable <lgl>, status_made_for_kids <lgl>,
## # statistics_view_count <int>, statistics_like_count <int>,
## # statistics_dislike_count <int>, statistics_favorite_count <int>,
## # statistics_comment_count <int>, page_info_total_results <int>,
## # page_info_results_per_page <int>, default_audio_language <chr>,
## # default_language <lgl>, date <date>, wort <chr>, term_list <chr>
| Topic | Expected topic proportion | Top 7 terms |
|---|---|---|
| Topic 5 | 0.115 | , corona, test, positiv, masken, pcr, virus, tests |
| Topic 11 | 0.102 | , danke, bundesrat, politiker, schweiz, berset, genau, leben |
| Topic 3 | 0.099 | trump, , biden, usa, medien, präsident, sehen, wahl |
| Topic 12 | 0.097 | , gates, bundesrat, schweiz, bill, schweizer, corona, volk |
| Topic 9 | 0.086 | , eu, schweiz, schweizer, svp, co2, sehen, klima |
| Topic 15 | 0.084 | , corona, link, grün, leben, sterben, einfach, fragen |
| Topic 10 | 0.072 | , corona, virus, schweiz, china, danke, tot, sehen |
| Topic 2 | 0.068 | , corona, the, virus, of, covid, tot, and |
| Topic 14 | 0.066 | impfung, , impfen, impfstoff, lassen, impfungen, schweiz, covid |
| Topic 4 | 0.064 | , merkel, deutschland, frau, deutsch, afd, schweiz, demokratie |
| Topic 6 | 0.049 | , polizei, berlin, corona, demo, medien, sehen, weltwoche |
| Topic 8 | 0.041 | , frauen, putin, russland, frau, schweiz, kinder, leben |
| Topic 7 | 0.020 | argumente, svp, schweiz, deutsch, sprechen, gut, grün, lassen |
| Topic 13 | 0.019 | , deutsch, reichen, nazis, liste, corona, lassen, völker |
| Topic 1 | 0.018 | schulen, usa, schwarz, demokratie, lassen, gut, eher, kinder |
Welche Worte sind den wahrscheinlichsten Themen gemeinsam:
## # A tibble: 20 x 2
## term_list n
## <chr> <int>
## 1 "" 5
## 2 "schweiz" 5
## 3 "berset" 3
## 4 "bundesrat" 3
## 5 "danke" 3
## 6 "genau" 3
## 7 "leben" 3
## 8 "politiker" 3
## 9 "afd" 1
## 10 "covid" 1
## 11 "demokratie" 1
## 12 "deutsch" 1
## 13 "deutschland" 1
## 14 "frau" 1
## 15 "impfen" 1
## 16 "impfstoff" 1
## 17 "impfung" 1
## 18 "impfungen" 1
## 19 "lassen" 1
## 20 "merkel" 1
Wie oft kommen die Worte in den entsprechenden Episoden vor?
## # A tibble: 54 x 3
## term_list content_details_video_id n
## <chr> <chr> <int>
## 1 schweiz EPnXH3Q8SdE 21
## 2 schweiz 2vPOxk7MQTc 19
## 3 schweiz BfNyRS4WamI 18
## 4 schweiz xgRve2Zh2RM 17
## 5 bundesrat zKTRYrPGboc 14
## 6 demokratie zKTRYrPGboc 8
## 7 lassen 2vPOxk7MQTc 8
## 8 lassen EPnXH3Q8SdE 8
## 9 frau EPnXH3Q8SdE 7
## 10 lassen xgRve2Zh2RM 7
## # … with 44 more rows
## # A tibble: 20 x 2
## term_list n
## <chr> <int>
## 1 "" 1
## 2 "afd" 1
## 3 "berset" 1
## 4 "bundesrat" 1
## 5 "covid" 1
## 6 "danke" 1
## 7 "demokratie" 1
## 8 "deutsch" 1
## 9 "deutschland" 1
## 10 "frau" 1
## 11 "genau" 1
## 12 "impfen" 1
## 13 "impfstoff" 1
## 14 "impfung" 1
## 15 "impfungen" 1
## 16 "lassen" 1
## 17 "leben" 1
## 18 "merkel" 1
## 19 "politiker" 1
## 20 "schweiz" 1
Häufigste Worte in Untertiteln zu 10 toxischsten Episoden, gewichtet nach TF-IDF:
Häufigste Worte in toxischen Kommentaren der 10 toxischsten Kommentarspalten, gewichtet nach TF-IDF:
Worte in den Untertiteln vs. den toxischen Kommentaren
https://ggplot2-book.org/facet.html
### Bigrams
## # A tibble: 13 x 20
## video_id id snippet_video_id snippet_text_display snippet_text_origin…
## <chr> <chr> <chr> <chr> <chr>
## 1 NKPWxjnE… UgwhJSb… NKPWxjnEiro "Was ist Rassismus?… "Was ist Rassismus?…
## 2 NKPWxjnE… Ugycl5a… NKPWxjnEiro "Warum genau soll &… "Warum genau soll \…
## 3 NKPWxjnE… UgwpGzM… NKPWxjnEiro "Bananenpflücker is… "Bananenpflücker is…
## 4 NtYT-HAI… UgzRRGv… NtYT-HAI2xc "Wer einen Nicht Sc… "Wer einen Nicht Sc…
## 5 NtYT-HAI… UgxcLsR… NtYT-HAI2xc "Nichts gegen Banan… "Nichts gegen Banan…
## 6 NtYT-HAI… UgxBzXu… NtYT-HAI2xc "Rassistisch sind G… "Rassistisch sind G…
## 7 NtYT-HAI… Ugy4zyZ… NtYT-HAI2xc "Was ist an einem B… "Was ist an einem B…
## 8 NtYT-HAI… Ugw97fi… NtYT-HAI2xc "Was bitte soll dar… "Was bitte soll dar…
## 9 NtYT-HAI… Ugw97fi… NtYT-HAI2xc "Bananenpflücker si… "Bananenpflücker si…
## 10 NtYT-HAI… Ugxg2n8… NtYT-HAI2xc "<a href=\"\"\"\"ht… "4:30 Er/sie/es muß…
## 11 NtYT-HAI… Ugy_ndV… NtYT-HAI2xc "Ich habe in meinem… "Ich habe in meinem…
## 12 NtYT-HAI… UgzI2Xh… NtYT-HAI2xc "Bananenpflücker is… "Bananenpflücker is…
## 13 Z_fLkwGO… UgxqV9a… Z_fLkwGOhjE "Uh beinahe wäre mi… "Uh beinahe wäre mi…
## # … with 15 more variables: snippet_author_display_name <chr>,
## # snippet_author_profile_image_url <chr>, snippet_author_channel_url <chr>,
## # snippet_author_channel_id_value <chr>, snippet_can_rate <lgl>,
## # snippet_viewer_rating <chr>, snippet_like_count <int>,
## # snippet_published_at <dttm>, snippet_updated_at <dttm>, can_reply <lgl>,
## # total_reply_count <int>, is_public <lgl>, is_reply <lgl>,
## # snippet_parent_id <chr>, snippet_moderation_status <chr>
## [[1]]
Vorschau-GIFs herunterladen